---
sidebar_position: 6
---

# Контрольные вопросы

1. Что такое  "наследование"? В каких случаях используется этот механизм?
2. Как описывается наследование классов в программе?
3. Как показать наследование на диаграмме классов?
4. Какой класс называется базовым?
5. Какой класс называется производным?
6. Какие ключи доступа используются при наследовании?
7. Наследуются ли конструкторы?
8. Наследуются ли деструкторы?
9. В чем заключаются особенности работы конструкторов при создании объекта производного класса?
10. Что собой представляет виртуальная функция?
11. Можно ли виртуальную функцию объявить как `static`?
12. Что такое множественное наследование?
13. Как объявляются виртуальные функции в абстрактном базовом классе?
14. Поясните механизм виртуальных функций при множественном наследовании.
15. Что такое абстрактный класс? Дайте определение. Пример.
16. Почему нельзя создавать объекты абстрактных классов?
17. Что такое виртуальная функция (ВФ)? Чистая ВФ? Пример.
18. Что такое виртуальный вызов?
19. В чем преимущества виртуального вызова для программистов?
20. Что такое чистая виртуальная функция? Покажите ее в вашей программе.
21. Зачем для виртуального вызова нужен указатель на базовый класс?
22. Как влияет использование виртуального вызова на размер программ?
23. Как влияет использование виртуального вызова на изменяемость программ?
24. Что такое виртуальный класс?
25. Что такое виртуальный деструктор?
26. Какая проблема решается при использовании виртуальных классов?
27. Чем отличается статическое и динамическое связывание?
28. На каком этапе разработки и выполнении программ происходит статическое связывание?
29. На каком этапе разработки и выполнении программ происходит динамическое связывание?
30. В чем состоят преимущества динамического связывания, и как они могут использоваться в программах?
